package cn.yuanqiao.archive.management.utils.entity;//package cn.yuanqiao.archive.management.utils.entity;
//
//import com.hidy.hdoa6.systemparam.HDSysParameter;
//import com.hidy.hdoa6.systemparam.SystemConfig;
//
//import javax.crypto.SecretKey;
//import javax.crypto.SecretKeyFactory;
//import javax.crypto.spec.DESKeySpec;
//import java.net.InetAddress;
//import java.net.UnknownHostException;
//import java.util.ArrayList;
//import java.util.List;
//import java.util.StringTokenizer;
//
///**
// * 系统常量 对应 HDcfg.properties 的属性设置 当属性文件中添加新属性，此文件应增加相应的属性供程序使用 StaticData
// * 中尽量不要出现 HDcfg.properties 中没有的 static String
//* <p>Title: StaticData</p>
//* <p>Description: </p>
//* @author hidy
//* @date 2020-9-14
// */
//public class StaticData {
//	// 为组织机构添加===2007-10-15===============
//	private static GlobalConfig gCfg = GlobalConfig.getInstance();
//
//	// 系统调试阶段打印日志
//	public static int HD_DATABASE = gCfg.getProperties().getProperty("HD.DATABASE")==null?1:Integer.parseInt(gCfg.getProperties().getProperty("HD.DATABASE"));
//	/**
//	 * 该方法必须放在此处，前面不能有类似SystemConfig.getParamValueByCode("HD_COPYRIGHT");的调用，因为数据库连接需要依赖该方法创建
//	 * #1Oracle 2PostgreSQL 3SQLServer 4DM 5Kingbase 6ST
//	 * 根据HD_DATABASE（hdoa.properties中配置）参数不同，返回不同的数据库配置信息，该返回值用于在DBConnection中通过配置文件创建数据库连接对象时的文件名部分
//	 * 所以需要给不同类型数据库分别创建不同的配置文件，如达梦数据库的配置文件名称为dm.properties，其他格式相同
//	 * <p>Title: getDataBase</p>
//	 * <p>Description: </p>
//	 * @return
//	 */
//	public static String getDataBase() {
//		String database;
//		switch (HD_DATABASE) {
//		case 1:
//			database="oracle";
//			break;
//		case 2:
//			database="postgresql";
//			break;
//		case 3:
//			database="sqlserver";
//			break;
//		case 4:
//			database="dm";
//			break;
//		case 5:
//			database="kingbase";
//			break;
//		case 6:
//			database="oscar";
//			break;
//		default:
//			database="";
//			break;
//		}
//		return database;
//	}
//
//	/** 上传文件存储路径 */
//	public static String UPLOAD_PATH = SystemConfig.getParamValueByCode("UPLOAD_PATH");
//	/** 移动端系统名称 */
//	private static String HD_MOBILE_SYSTEMNAME = SystemConfig.getParamValueByCode("HD_MOBILE_SYSTEMNAME");
//	/** PC端系统名称 */
//	private static String HD_SYSTEMNAME = SystemConfig.getParamValueByCode("HD_SYSTEMNAME");
//	/** 用户版权信息 */
//	private static String HD_COPYRIGHT = SystemConfig.getParamValueByCode("HD_COPYRIGHT");
//	/** 服务器编码 */
//	public static String CHARSET_SERVER = SystemConfig.getParamValueByCode("CHARSET_SERVER");
//	/** 客户端编码 */
//	public static String CHARSET_CLIENT = SystemConfig.getParamValueByCode("CHARSET_CLIENT");
//	/** 数据库编码 */
//	public static String CHARSET_DB = SystemConfig.getParamValueByCode("CHARSET_DB");
//	/** 响应标头编码 */
//	public static String CHARSET_RESPONSE_HEADER = SystemConfig.getParamValueByCode("CHARSET_RESPONSE_HEADER");
//
//	public static String HD_NORMAL_ROLE = gCfg.getProperties().getProperty("HD_NORMAL_ROLE");
//	/** 1:Oracle */
//	public final static int DATABASE_ORACLE = 1;
//	/** 2:PostgreSQL */
//	public final static int DATABASE_POSTGRE = 2;
//	/** 3:SQLServer */
//	public final static int DATABASE_SQLSERVER = 3;
//	/** 4:DM; */
//	public final static int DATABASE_DM = 4;
//	/** 5:Kingbase; */
//	public final static int DATABASE_KINGBASE = 5;
//	/** 6:ST; */
//	public final static int DATABASE_ST = 6;
//
//	// 档案管理员角色ID
//	public static String HD_DAGLY_ROLE = SystemConfig.getParamValueByCode("HD_DAGLY_ROLE");
//
//	// 兼职档案管理员角色ID
//	public static String HD_JZGLY_ROLE = SystemConfig.getParamValueByCode("HD_JZGLY_ROLE");
//
//	/** 挂接文件临时目录 */
//	public static String HD_GUAJIE_TMP_PATH = SystemConfig.getParamValueByCode("HD_GUAJIE_TMP_PATH");
//	// 挂接文件跳过目录
//	public static String HD_GUAJIE_JUMP_PATH = SystemConfig.getParamValueByCode("HD_GUAJIE_JUMP_PATH");
//	// 挂接文件失败目录
//	public static String HD_GUAJIE_FAILED_PATH = SystemConfig.getParamValueByCode("HD_GUAJIE_FAILED_PATH");
//	// 挂接文件目录
//	//public static String HD_GUAJIE_PATH = SystemConfig.getParamValueByCode("HD_GUAJIE_PATH");
//
//	// 系统调试阶段打印日志
//	public static String HD_DEBUG_INFO = gCfg.getProperties().getProperty("HD.DEBUG.INFO");
//
//	public static String HD_CHARSET_ZIP = SystemConfig.getParamValueByCode("HD_CHARSET_ZIP");
//
//	public static String HD_SUWELL_AGENT_URL = SystemConfig.getParamValueByCode("HD_SUWELL_AGENT_URL");
//	public static String HD_OFD_PATH = gCfg.getProperties().getProperty("HD.OFD.PATH");
//	// 导入档案数据用的模板下载地址，直接通过超链接下载在金蝶中间件上IE访问会直接打开文件而导致乱码，不出现下载弹出窗口，故改为程序构造数据流发送到终端
//	public static String HD_MODEL_PATH = SystemConfig.getParamValueByCode("HD_MODEL_PATH");
//	/** 归档信息包存放路径 */
//	public static String HD_DA_OA_FILE_PATH =SystemConfig.getParamValueByCode("HD.DA.OA.FILE.PATH");
//	/** 导入文件路径 */
//	public static String HD_IMPORT_PATH =SystemConfig.getParamValueByCode("HD_IMPORT_PATH");
//
//	/** 移交信息包存放路径 */
//	public static String HD_DA_ARCHIVING_PACKAGE =SystemConfig.getParamValueByCode("HD.MNT.ARCHIVING.PACKAGE");
//	/**借阅单模路径*/
////	public static String HD_BORROW_ITEM_MODEL_PATH =SystemConfig.getParamValueByCode("HD_BORROW_ITEM_MODEL_PATHE");
//	public static String HD_BORROW_ITEM_MODEL_PATH =SystemConfig.getParamValueByCode("HD.BORROW.ITEM.MODEL.PATH");
//
//	public static String OCX_IMAGE_CLSID = gCfg.getProperties().getProperty("HD.OCX_IMAGE_CLSID");
//	public static String OCX_IMAGE_CODEBASE = gCfg.getProperties().getProperty("HD.OCX_IMAGE_CODEBASE");
//	public static String OCX_IMAGE_SETUP = gCfg.getProperties().getProperty("HD.OCX_IMAGE_SETUP");
//	public static String GQZH = gCfg.getProperties().getProperty("GQZH");
//	public static String QZHCOLUMN = gCfg.getProperties().getProperty("QZHCOLUMN");
//	/** 文件上传临时路径 */
//	public static String HD_MNT = SystemConfig.getParamValueByCode("HD_MNT");
//	public static String HD_ZLK_MNT = SystemConfig.getParamValueByCode("HD_ZLK_MNT");
//	public static String SERVLETPATH = gCfg.getProperties().getProperty("HD.SERVLETPATH");
//	public static String SERVLETPATHPURE = gCfg.getProperties().getProperty("HD.SERVLETPATHPURE");
//	public static String HD_TEMP = SystemConfig.getParamValueByCode("HD_TEMP");
//	/**
//	 * 默认每页显示条数
//	 */
//	public static String PAGESIZE = SystemConfig.getParamValueByCode("PAGESIZE");
//
//	/**
//	 * 自动程序执行时间 单位秒
//	 */
//	public static String AUTOTIMEEXCUTE = getAUTOTIMEEXCUTE();
//
//	/** 全部附件存储空间大小 单位字节 */
//	public static String HD_MNT_ALL_SIZE = SystemConfig.getParamValueByCode("HD_MNT_ALL_SIZE");
//	/** 单个上传附件大小 (单位:字节 B)*/
//	public static String HD_MNT_SINGLE_SIZE = SystemConfig.getParamValueByCode("HD_MNT_SINGLE_SIZE");
//	/** 允许上传的文件类型 */
//	public static String HD_MNT_FILE_EXT = SystemConfig.getParamValueByCode("HD_MNT_FILE_EXT");
//	/**
//	 * 菜单图标地址（一般情况下值配置为部署包的地址）
//	 */
//	public static String HD_PICTUREPATH = gCfg.getProperties().getProperty("HD.PICTUREPATH");//SystemConfig.getParamValueByCode("HD_PICTUREPATH");
//	/**
//	 * 是否集成CA，1为开启
//	 */
//	public static String HD_CA_STATUS = SystemConfig.getParamValueByCode("HD_CA_STATUS");
//	/**
//	 * CA地址
//	 */
//	public static String HD_CA_URI = SystemConfig.getParamValueByCode("HD_CA_URI");
//	/**
//	 * 令牌过期时间
//	 */
//	public static Long HD_AUTH_TIME = Long.parseLong(SystemConfig.getParamValueByCode("HD_AUTH_TIME")==null?"0":SystemConfig.getParamValueByCode("HD_AUTH_TIME"));
//
//	/**
//	 * 引擎新加的开关控制
//	 */
//	public static String ENGINE_SWITCH = gCfg.getProperties().getProperty("HD.ENGINE_SWITCH");
//	/**
//	 * 档案发布路径
//	 */
//	public static String PUBLISH_URL_DATA = gCfg.getProperties().getProperty("PUBLISH_URL_DATA");
//	/**
//	 * 档案文件发布路径
//	 */
//	public static String PUBLISH_URL_FILE = gCfg.getProperties().getProperty("PUBLISH_URL_FILE");
//	/**
//	 * 是否需要校验一周改密码，默认false
//	 */
//	public static String HD_SECRET_LEVEL =  SystemConfig.getParamValueByCode("HD_SECRET_LEVEL");
//
//	private final static String FILE_DES_ENCRYPT_DECRYPT_PASSWORD = "CD62A229FE9E94D3";// 此值必须16位且不能修改
//
//	public final static SecretKey buildSecretKey() {
//		byte[] rawKeyData = FILE_DES_ENCRYPT_DECRYPT_PASSWORD.getBytes();
//		SecretKey key = null;
//		try {
//			// 从原始密匙数据创建DESKeySpec对象
//			DESKeySpec dks = new DESKeySpec(rawKeyData);
//			// 创建一个密匙工厂，然后用它把DESKeySpec转换成
//			// 一个SecretKey对象
//			SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
//			key = keyFactory.generateSecret(dks);
//		} catch (Exception e) {
//			e.printStackTrace();
//		}
//		return key;
//	}
//
//	/**
//	 *
//	 * <pre>
//	 * 方法名称：
//	 * 功能描述：获取程序执行时间
//	 * 引用描述：
//	 * 参数：
//	 * 返回：
//	 * </pre>
//	 */
//	public static String getAUTOTIMEEXCUTE() {
//		HDSysParameter hdSysParam = null;
//		hdSysParam = SystemConfig.getSysParameter("AUTOTIMEEXCUTE");
//		return hdSysParam.getPARAM_VALUE();
//
//	}
//
//	private static String s = "";
//
//	public static String getHD_MOBILE_SYSTEMNAME() {
//		try {
//			if (CHARSET_SERVER.equals(CHARSET_CLIENT)) {
//				s = HD_SYSTEMNAME;
//			} else {
//				s = new String(HD_MOBILE_SYSTEMNAME.getBytes(CHARSET_SERVER), CHARSET_CLIENT);
//			}
//			/*if (s != null) {// 从properties文件中取出的中文都是 ISO8859_1 编码
//				s = new String(HD_MOBILE_SYSTEMNAME.getBytes("ISO8859_1"), CHARSET_CLIENT);
//			}*/
//		} catch (Exception e) {
//			e.printStackTrace();
//		}
//		return s;
//	}
//
//	public static String getHD_SYSTEMNAME() {
//		try {
//			if (CHARSET_SERVER.equals(CHARSET_CLIENT)) {
//				s = HD_SYSTEMNAME;
//			} else {
//				s = new String(HD_SYSTEMNAME.getBytes(CHARSET_SERVER), CHARSET_CLIENT);
//			}
//			/*if (s != null) {// 从properties文件中取出的中文都是 ISO8859_1 编码
//				s = new String(HD_SYSTEMNAME.getBytes("ISO8859_1"), CHARSET_CLIENT);
//			}*/
//		} catch (Exception e) {
//			e.printStackTrace();
//		}
//		return s;
//	}
//
//	public static String getHD_COPYRIGHT() {
//		try {
//			if (CHARSET_SERVER.equals(CHARSET_CLIENT)) {
//				s = HD_COPYRIGHT;
//			} else {
//				s = new String(HD_COPYRIGHT.getBytes(CHARSET_SERVER), CHARSET_CLIENT);
//			}
//			/*if (s != null) {// 从properties文件中取出的中文都是 ISO8859_1 编码
//				s = new String(HD_COPYRIGHT.getBytes("ISO8859_1"), CHARSET_CLIENT);
//			}*/
//		} catch (Exception e) {
//			e.printStackTrace();
//		}
//		return s;
//	}
//
//	public final static String TIMEFORMAT_YYYYMMDD_HH24MI = "yyyy-MM-dd HH24:mi";
//	/**
//	 * 定时创建索引的cron表达式，如果未指定，默认凌晨2点执行
//	 */
//	public static final String HD_CREATEINDEX_TIMER = SystemConfig.getParamValueByCode("HD_CREATEINDEX_TIMER")==null?"0 0 2 * * ?":SystemConfig.getParamValueByCode("HD_CREATEINDEX_TIMER");
//
//	/**
//	 * 按顺序将 HD.WEBSERVERS 中配置的ip添加到List中并返回此List 不配置此属性，默认取 127.0.0.1
//	 *
//	 * @return ip List
//	 */
//	public static List getWebServers() {
//		List rtnList = new ArrayList();
//		String webServers = gCfg.getProperties().getProperty("HD.WEBSERVERS");
//		if (webServers == null || webServers.equals("")) {// 不配置此属性，默认取
//															// 127.0.0.1
//			rtnList.add(StaticData.getLocalhost());
//		} else {
//			if (!webServers.endsWith(";"))
//				webServers = webServers + ";";
//			StringTokenizer token = new StringTokenizer(webServers, ";");
//			while (token.hasMoreTokens()) {
//				rtnList.add(token.nextToken().trim());
//			}
//		}
//		return rtnList;
//	}
//
//	private static String getLocalhost() {
//		String localhost = "127.0.0.1";
//		try {
//			InetAddress netAddr = InetAddress.getLocalHost();
//			localhost = netAddr.getHostAddress();
//		} catch (UnknownHostException e) {
//			e.printStackTrace();
//		}
//		return localhost;
//	}
//}
